import { getToken, setToken, removeToken } from '@/utils/auth'
import { getProfile ,getUserDetailById} from '@/api/user'
export default {
  namespaced: true,
  state: {
    token: getToken() || '', // 储存令牌
    userInfo: {} , // 储存用户的基本资料

  },
  mutations: {
    // 存储
    updataToken(state, token) {
      state.token = token
      setToken(token)
    },
    // 删除令牌
    deldataToken(state) {
      state.token = ''
      removeToken()
    },
    // 储存基本信息
    setuserInfo(state, Info) {
      state.userInfo = Info
    },
    // 删除基本信息
    deluserInfo(state) {
      state.userInfo = {}
    },
  },
  actions: {
    // 发送请求用户基本数据
    async getUserInfo(context) {
      try {
        // 请求 用户基本数据
        const res = await getProfile()
        console.log('getProfile', res);
       // 请求 用户头像
        const Info =await getUserDetailById(res.data.userId)
        console.log('getUserDetailById',Info);
      // 调用添加函数 合并一起
        context.commit('setuserInfo', {...res.data,...Info.data})
        return res.data.roles.menus
      } catch (error) {
        console.log(error);
      }
    }
  }
}